package com.atguigu.strategy.improve;

/**
 * @program: design-patterns
 * @author: yangshen
 * @description: 玩具鸭
 * @create: 2022-04-04 10:32
 **/
public class ToyDuck extends Duck {

    /**
     * 构造器（告知父类Duck对应属性接口的实际对象）
     * 鸭子的类型
     * 传入飞翔属性接口（FlyBehavior） 的对象，同时不再重写fly方法，改为调用父类的fly方法
     * 传入叫声属性接口（QuackBehavior） 的对象，同时不再重写quack方法，改为调用父类的quack方法
     */
    public ToyDuck() {
        this.name = "玩具鸭";
        this.flyBehavior = new NoFlyBehavior();
        this.quackBehavior = new NoQuackBehavior();
    }

    @Override
    public void display() {
        System.out.println("这是玩具鸭");
    }

}
